/*
******************************************************************************************************* 
**  Copyright (C) 2019, 苏州检易生物科技有限公司 
**  All rights reserved. 
** 
**  FileName:       	schedule_aux.h
**  Description:	
**  Author:        	 
**  Version				v0.1
**  Date:           	2019-09-02
**	Function List： 
**  History:         
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*                                              	防止重复包含
*********************************************************************************************************
*/

#ifndef _SCHEDULE_TASK_H_
#define _SCHEDULE_TASK_H_
/*
*********************************************************************************************************
*                                              	调试开关
*********************************************************************************************************
*/



/*
*********************************************************************************************************
*                                              	头文件
*********************************************************************************************************
*/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <rtthread.h>
#include "stm32h7xx_hal.h"
/*基本功能*/
#include "schedule_lib.h"
#include "schedule_period.h"
#include "timer.h"
#include "os_config.h"
#include "system_cfg.h"
#include "tcp_transfer.h"
#include "log_console.h"
#include "hc595_led.h"
/*流程相关*/
#include "app_msg.h"
#include "msg_act.h"
#include "motor_process.h"
#include "servo_process.h"
#include "pressure_process.h"
#include "stdl_io.h"
#include "stdl_claw_process.h"
#include "scan_process.h"

#include "drive_pwm.h"
#include "drive_dc.h"

#include "limit.h"
#include "process_tmr.h"
#include "block.h"
/**/
#include "supply.h"

/*
*********************************************************************************************************
*                                              	宏定义
*********************************************************************************************************
*/
#define		PERIPH_INIT_TIME_DELAY				3000
#define		SCHEDULE_TICK_MS							20

#define		PERIOD_UPLOAD_INTERVAL				10000
/*
*********************************************************************************************************
*                                              枚举和结构体类型定义
*********************************************************************************************************
*/

typedef enum{
	MSG_SCHEDULE_SCH,
	MSG_SCHEDULE_TMR,
}schedule_msg_t;

typedef enum{
	ACT_SCHEDULE_INIT,
	ACT_SCHEDULE_START_WORK,
	ACT_SCHEDULE_CALIB,
}schedule_act_t;

/*
*********************************************************************************************************
*                                              	全局变量声明
*********************************************************************************************************
*/
extern struct rt_thread   	rt_schedule_tcb;
extern struct rt_mailbox		rt_schedule_mb;

/*
*********************************************************************************************************
*                                              	函数声明
*********************************************************************************************************
*/
void schedule_task_start(void);
#endif
